Neuroelectrics Corporation
Created November 2018
Modified: -
NOTE: Make sure you have gone through NEpy demo 1-Frida before starting with this one, it will help!
When runnign the next cell, three input boxes are going to appear asking for the necessary data to set up:
Your name or ID. Example: MyName
The path where you have stored the NEpy repository. Copy paste the path into that box. Example: C:\Users\MyUser\Documents\Git\NEpy_v0.1.
The path where you have stored the file(s) you want to read (.easy, .easy.gz, .info). Example: C:\Users\MyUser\Documents\Git\NEpy_v0.1\sampledata
author = input('\033[1mUser name:\033[0m \n')
nepypath = input('\033[1mNEpy repository path:\033[0m \n ')
datapath = input('\033[1mData path:\033[0m \n ')
import sys
import os
import time
sys.path.append(nepypath)
from nepy.frida.frida import Frida
from nepy.frida.batch import processDirectory
print('\n')
%load_ext autoreload
%autoreload 2
print("______________________________________________")
print ("\nNotebook started:", time.strftime("%Y-%m-%d %H:%M"))
User name: Roser NEpy repository path: C:\Users\roser.sanchez\Documents\Git\NEpy_v0.1 Data path: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles ______________________________________________ Notebook started: 2019-04-15 16:01
Don't know how to deal with batch? No worries, ask for help!
The help function (similar to MATLAB) will print a description and an exaple of use of the batch function.
help(processDirectory)
Help on function processDirectory in module nepy.frida.batch:
processDirectory(datapath, author='anonymous', pipeline=None, parameters=None, plotit=True)
Process all .easy or .easy.gz files in data's directory using Frida.
:param datapath: directory of the folder containing the data.
:param author: ('anonymous') user.
:param pipeline: (['referenceData', 'detrendData', 'notch', 'filterDataA2B'])
:param parameters: check Frida docstring for more information.
:param plotit: flag to plot or not the data.
:return: list of processed and skipped files.
Example of use:
>>> [processed, skipped] = processDirectory(datapath)
It is really simple! You just need to copy the following line:
[processed, skipped] = processDirectory(datapath)
The arguments pipeline and parameters (see help(Frida)) are optional.
parameters = {
'signal_offset_limit': 1.,
'signal_std_limit': 15.,
'epoch_length': 10.,
'epoch_amp_threshold': 75.,
'epoch_std_threshold': 30.,
'detrend_time': 10.,
'line_freq': 50.,
'Q_notch': 30.,
'low_cutoff_freq': 2.,
'high_cutoff_freq': 45.,
'order': 5,
'reference_electrodes': ['Cz']
}
[processed, skipped] = processDirectory(datapath, parameters=parameters)
Running with these arguments: {'plotit': True, 'parameters': {'signal_offset_limit': 1.0, 'signal_std_limit': 15.0, 'epoch_length': 10.0, 'epoch_amp_threshold': 75.0, 'epoch_std_threshold': 30.0, 'detrend_time': 10.0, 'line_freq': 50.0, 'Q_notch': 30.0, 'low_cutoff_freq': 2.0, 'high_cutoff_freq': 45.0, 'order': 5, 'reference_electrodes': ['Cz']}, 'pipeline': None, 'author': 'anonymous', 'datapath': 'C:\\Users\\roser.sanchez\\Desktop\\EEG_DATA\\testfiles'}
##########################################################################
Processing C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214090159_testboard_E8.easy
##########################################################################
Found the file: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214090159_testboard_E8.easy
Initializing in file path: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214090159_testboard_E8.easy
Processing: 20181214090159_testboard_E8
Filenameroot: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214090159_testboard_E8
Extension: easy
_______________________________________________________________
Reading info file ...
Step Details
Info Version: 1.2
Step name:
StartDate (firstEEGtimestamp): 1544774518507
Device class: ENOBIO
Communication type: Bluetooth
Device ID: 00:07:80:0F:63:86
Software's version: NIC v2.0.10
Firmware's version: 1256
Operative system: Windows
SDCard Filename: NONE
Additional channel: NONE
EEG Settings
Total number of channels: 8
Number of EEG channels: 8
Number of records of EEG: 90000
EEG sampling rate: 500 Samples/second
Effective EEG sampling rate: N/A
EEG recording configured duration (s): 180
Number of packets lost: 0(0.00%)
Line filter status: OFF
FIR filter status: OFF
EOG correction filter status: OFF
Reference filter status: OFF
EEG units: nV
EEG montage:
Channel 1: F6
Channel 2: F4
Channel 3: F2
Channel 4: Fz
Channel 5: F1
Channel 6: F3
Channel 7: F5
Channel 8: Cz
Accelerometer data: ON
.info file found and read.
_______________________________________________________________
Reading: 20181214090159_testboard_E8 . easy
Number of channels detected: 8
First sample recorded : 2018-12-14 09:01:58
L0 raw data data in uV
F6 F4 F2 Fz F1 \
count 90000.000000 90000.000000 90000.000000 90000.000000 90000.00000
mean 315.289488 -599.396540 223.635793 -282.218188 -268.81353
std 15.718408 13.982947 13.640501 13.556471 13.62517
min -226.116000 -1118.230000 -289.630000 -789.690000 -776.76700
25% 309.467000 -602.436000 221.395000 -284.433000 -271.36800
50% 315.380000 -599.384000 223.636000 -282.239000 -268.79300
75% 321.102000 -596.332000 225.830000 -280.046000 -266.31300
max 888.443000 -80.871000 742.197000 231.695000 243.18600
F3 F5 Cz ax ay \
count 90000.000000 90000.000000 90000.000000 90000.000000 90000.000000
mean -32.343784 -515.676789 190.769976 81.849800 17.749811
std 13.695445 13.813497 13.878209 1004.576048 821.329224
min -538.873000 -1024.389000 -322.151000 -4854.000000 -6423.000000
25% -35.047000 -518.655000 187.635000 -29.000000 186.000000
50% -32.329000 -515.651000 190.782000 0.000000 186.000000
75% -29.659000 -512.695000 193.882000 0.000000 225.000000
max 479.459000 -3.576000 706.386000 10051.000000 4050.000000
az markers unix_time
count 90000.000000 90000.000000 9.000000e+04
mean 9117.544778 0.000256 1.544775e+12
std 1491.102339 0.016665 5.196253e+04
min -12081.000000 0.000000 1.544775e+12
25% 9286.000000 0.000000 1.544775e+12
50% 9326.000000 0.000000 1.544775e+12
75% 9365.000000 0.000000 1.544775e+12
max 11581.000000 2.000000 1.544775e+12
Plotting EEG channels after this pipeline:
1 . Object created: 2019-04-15 16:02
File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214090159_testboard_E8.easy
Plotting PSDs after this pipeline: 1 . Object created: 2019-04-15 16:02 File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214090159_testboard_E8 Channel 1: F6, STD= 15.7 uV
Channel 2: F4, STD= 14.0 uV
Channel 3: F2, STD= 13.6 uV
Channel 4: Fz, STD= 13.6 uV
Channel 5: F1, STD= 13.6 uV
Channel 6: F3, STD= 13.7 uV
Channel 7: F5, STD= 13.8 uV
Channel 8: Cz, STD= 13.9 uV
--------QUALITY CHECK-------- Current log is: ['Object created: 2019-04-15 16:02'] Checking Quality of data with epoch length of 10.0 seconds. Offset limit: 1.0 STD limit: 15.0 Channel F6 : Offset = 0.3 mV / STD = 15.7 uV (*) Channel F4 : Offset = -0.6 mV / STD = 14.0 uV Channel F2 : Offset = 0.2 mV / STD = 13.6 uV Channel Fz : Offset = -0.3 mV / STD = 13.6 uV Channel F1 : Offset = -0.3 mV / STD = 13.6 uV Channel F3 : Offset = -0.0 mV / STD = 13.7 uV Channel F5 : Offset = -0.5 mV / STD = 13.8 uV Channel Cz : Offset = 0.2 mV / STD = 13.9 uV
Minutes of data: 3.0
Max epochs per channel: 17
-Epoch Amplitude threshold: 75.0
-Epoch STD threshold: 30.0
Found 0 bad channel-epochs out of 136, or 0.0%.
Bad channel-epochs per channel:
channel 0 / F6, N= 0 (or 0.0%)
channel 1 / F4, N= 0 (or 0.0%)
channel 2 / F2, N= 0 (or 0.0%)
channel 3 / Fz, N= 0 (or 0.0%)
channel 4 / F1, N= 0 (or 0.0%)
channel 5 / F3, N= 0 (or 0.0%)
channel 6 / F5, N= 0 (or 0.0%)
channel 7 / Cz, N= 0 (or 0.0%)
---------QC COMPLETE---------
---------PREPROCESSING---------
Pipeline:
['reset', 'rereference', 'detrend', 'remove_line_freq', 'bandpassfilter']
-------------------------------
Step 1 : reset ...
-------------------------------
Step 2 : rereference ...
Reference electrodes: ['Cz']
-------------------------------
Step 3 : detrend ...
Every 10.0 seconds
-------------------------------
Step 4 : remove_line_freq ...
Power line frequency: 50.0
Notch Q-factor: 30.0
-------------------------------
Step 5 : bandpassfilter ...
Cutoff frequencies: 2.0 - 45.0
-------------------------------
Done: Updated Log: ['Object created: 2019-04-15 16:02', 'EEG reset on 2019-04-15 16:02', 'Reference to: Cz on 2019-04-15 16:02', 'Detrend data every 10.0 s on 2019-04-15 16:02', 'Notch at 50.0 with Q=30.0 on 2019-04-15 16:02', 'Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:02']
--------QUALITY CHECK--------
Current log is:
['Object created: 2019-04-15 16:02', 'EEG reset on 2019-04-15 16:02', 'Reference to: Cz on 2019-04-15 16:02', 'Detrend data every 10.0 s on 2019-04-15 16:02', 'Notch at 50.0 with Q=30.0 on 2019-04-15 16:02', 'Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:02']
Checking Quality of data with epoch length of 10.0 seconds.
Offset limit: 1.0
STD limit: 15.0
Channel F6 : Offset = 0.0 mV / STD = 0.7 uV
Channel F4 : Offset = 0.0 mV / STD = 0.6 uV
Channel F2 : Offset = 0.0 mV / STD = 0.5 uV
Channel Fz : Offset = 0.0 mV / STD = 0.5 uV
Channel F1 : Offset = 0.0 mV / STD = 0.5 uV
Channel F3 : Offset = 0.0 mV / STD = 0.5 uV
Channel F5 : Offset = 0.0 mV / STD = 0.5 uV
Channel Cz : Offset = 0.0 mV / STD = 0.0 uV
Minutes of data: 3.0
Max epochs per channel: 17
-Epoch Amplitude threshold: 75.0
-Epoch STD threshold: 30.0
Found 0 bad channel-epochs out of 136, or 0.0%.
Bad channel-epochs per channel:
channel 0 / F6, N= 0 (or 0.0%)
channel 1 / F4, N= 0 (or 0.0%)
channel 2 / F2, N= 0 (or 0.0%)
channel 3 / Fz, N= 0 (or 0.0%)
channel 4 / F1, N= 0 (or 0.0%)
channel 5 / F3, N= 0 (or 0.0%)
channel 6 / F5, N= 0 (or 0.0%)
channel 7 / Cz, N= 0 (or 0.0%)
---------QC COMPLETE---------
Plotting EEG channels after this pipeline:
1 . Object created: 2019-04-15 16:02
2 . EEG reset on 2019-04-15 16:02
3 . Reference to: Cz on 2019-04-15 16:02
4 . Detrend data every 10.0 s on 2019-04-15 16:02
5 . Notch at 50.0 with Q=30.0 on 2019-04-15 16:02
6 . Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:02
File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214090159_testboard_E8.easy
Plotting PSDs after this pipeline: 1 . Object created: 2019-04-15 16:02 2 . EEG reset on 2019-04-15 16:02 3 . Reference to: Cz on 2019-04-15 16:02 4 . Detrend data every 10.0 s on 2019-04-15 16:02 5 . Notch at 50.0 with Q=30.0 on 2019-04-15 16:02 6 . Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:02 File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214090159_testboard_E8 Channel 1: F6, STD= 0.7 uV
Channel 2: F4, STD= 0.6 uV
Channel 3: F2, STD= 0.5 uV
Channel 4: Fz, STD= 0.5 uV
Channel 5: F1, STD= 0.5 uV
Channel 6: F3, STD= 0.5 uV
Channel 7: F5, STD= 0.5 uV
Channel 8: Cz, STD= 0.0 uV
##########################################################################
Processing C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214093909_testboard_E20.nedf
##########################################################################
Found the file: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214093909_testboard_E20.nedf
File found! C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214093909_testboard_E20.nedf
Reading file...
Header information has been correctly retrieved.
Finished processing
Plotting EEG channels after this pipeline:
1 . Object created: 2019-04-15 16:02
File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214093909_testboard_E20.nedf
Plotting PSDs after this pipeline: 1 . Object created: 2019-04-15 16:02 File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214093909_testboard_E20 Channel 1: P7, STD= 3.1 uV
Channel 2: P4, STD= 2.1 uV
Channel 3: Cz, STD= 2.0 uV
Channel 4: Pz, STD= 2.1 uV
Channel 5: P3, STD= 2.1 uV
Channel 6: P8, STD= 2.1 uV
Channel 7: O1, STD= 2.1 uV
Channel 8: O2, STD= 2.0 uV
Channel 9: T8, STD= 3.5 uV
Channel 10: F8, STD= 2.1 uV
Channel 11: C4, STD= 2.0 uV
Channel 12: F4, STD= 2.1 uV
Channel 13: Fp2, STD= 2.0 uV
Channel 14: Fz, STD= 2.1 uV
Channel 15: C3, STD= 2.1 uV
Channel 16: F3, STD= 2.1 uV
Channel 17: Fp1, STD= 2.2 uV
Channel 18: T7, STD= 2.2 uV
Channel 19: F7, STD= 2.6 uV
Channel 20: EXT, STD= 2.5 uV
--------QUALITY CHECK-------- Current log is: ['Object created: 2019-04-15 16:02'] Checking Quality of data with epoch length of 10.0 seconds. Offset limit: 1.0 STD limit: 15.0 Channel P7 : Offset = 0.1 mV / STD = 3.1 uV Channel P4 : Offset = -0.6 mV / STD = 2.1 uV Channel Cz : Offset = -0.1 mV / STD = 2.0 uV Channel Pz : Offset = -0.1 mV / STD = 2.1 uV Channel P3 : Offset = -0.1 mV / STD = 2.1 uV Channel P8 : Offset = -0.0 mV / STD = 2.1 uV Channel O1 : Offset = -0.2 mV / STD = 2.1 uV Channel O2 : Offset = 0.4 mV / STD = 2.0 uV Channel T8 : Offset = 0.3 mV / STD = 3.5 uV Channel F8 : Offset = -0.4 mV / STD = 2.1 uV Channel C4 : Offset = -0.1 mV / STD = 2.0 uV Channel F4 : Offset = -0.0 mV / STD = 2.1 uV Channel Fp2 : Offset = -0.1 mV / STD = 2.0 uV Channel Fz : Offset = 0.0 mV / STD = 2.1 uV Channel C3 : Offset = -0.2 mV / STD = 2.1 uV Channel F3 : Offset = 0.0 mV / STD = 2.1 uV Channel Fp1 : Offset = 0.1 mV / STD = 2.2 uV Channel T7 : Offset = -0.1 mV / STD = 2.2 uV Channel F7 : Offset = -0.3 mV / STD = 2.6 uV Channel EXT : Offset = -0.1 mV / STD = 2.5 uV
Minutes of data: 3.0
Max epochs per channel: 17
-Epoch Amplitude threshold: 75.0
-Epoch STD threshold: 30.0
Found 0 bad channel-epochs out of 340, or 0.0%.
Bad channel-epochs per channel:
channel 0 / P7, N= 0 (or 0.0%)
channel 1 / P4, N= 0 (or 0.0%)
channel 2 / Cz, N= 0 (or 0.0%)
channel 3 / Pz, N= 0 (or 0.0%)
channel 4 / P3, N= 0 (or 0.0%)
channel 5 / P8, N= 0 (or 0.0%)
channel 6 / O1, N= 0 (or 0.0%)
channel 7 / O2, N= 0 (or 0.0%)
channel 8 / T8, N= 0 (or 0.0%)
channel 9 / F8, N= 0 (or 0.0%)
channel 10 / C4, N= 0 (or 0.0%)
channel 11 / F4, N= 0 (or 0.0%)
channel 12 / Fp2, N= 0 (or 0.0%)
channel 13 / Fz, N= 0 (or 0.0%)
channel 14 / C3, N= 0 (or 0.0%)
channel 15 / F3, N= 0 (or 0.0%)
channel 16 / Fp1, N= 0 (or 0.0%)
channel 17 / T7, N= 0 (or 0.0%)
channel 18 / F7, N= 0 (or 0.0%)
channel 19 / EXT, N= 0 (or 0.0%)
---------QC COMPLETE---------
---------PREPROCESSING---------
Pipeline:
['reset', 'rereference', 'detrend', 'remove_line_freq', 'bandpassfilter']
-------------------------------
Step 1 : reset ...
-------------------------------
Step 2 : rereference ...
Reference electrodes: ['Cz']
-------------------------------
Step 3 : detrend ...
Every 10.0 seconds
-------------------------------
Step 4 : remove_line_freq ...
Power line frequency: 50.0
Notch Q-factor: 30.0
-------------------------------
Step 5 : bandpassfilter ...
Cutoff frequencies: 2.0 - 45.0
-------------------------------
Done: Updated Log: ['Object created: 2019-04-15 16:02', 'EEG reset on 2019-04-15 16:02', 'Reference to: Cz on 2019-04-15 16:02', 'Detrend data every 10.0 s on 2019-04-15 16:02', 'Notch at 50.0 with Q=30.0 on 2019-04-15 16:02', 'Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:02']
--------QUALITY CHECK--------
Current log is:
['Object created: 2019-04-15 16:02', 'EEG reset on 2019-04-15 16:02', 'Reference to: Cz on 2019-04-15 16:02', 'Detrend data every 10.0 s on 2019-04-15 16:02', 'Notch at 50.0 with Q=30.0 on 2019-04-15 16:02', 'Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:02']
Checking Quality of data with epoch length of 10.0 seconds.
Offset limit: 1.0
STD limit: 15.0
Channel P7 : Offset = -0.0 mV / STD = 0.6 uV
Channel P4 : Offset = 0.0 mV / STD = 0.5 uV
Channel Cz : Offset = 0.0 mV / STD = 0.0 uV
Channel Pz : Offset = -0.0 mV / STD = 0.5 uV
Channel P3 : Offset = 0.0 mV / STD = 0.5 uV
Channel P8 : Offset = 0.0 mV / STD = 0.5 uV
Channel O1 : Offset = 0.0 mV / STD = 0.5 uV
Channel O2 : Offset = 0.0 mV / STD = 0.5 uV
Channel T8 : Offset = -0.0 mV / STD = 0.6 uV
Channel F8 : Offset = 0.0 mV / STD = 0.5 uV
Channel C4 : Offset = 0.0 mV / STD = 0.5 uV
Channel F4 : Offset = 0.0 mV / STD = 0.5 uV
Channel Fp2 : Offset = 0.0 mV / STD = 0.5 uV
Channel Fz : Offset = 0.0 mV / STD = 0.5 uV
Channel C3 : Offset = 0.0 mV / STD = 0.5 uV
Channel F3 : Offset = 0.0 mV / STD = 0.5 uV
Channel Fp1 : Offset = 0.0 mV / STD = 0.6 uV
Channel T7 : Offset = 0.0 mV / STD = 0.5 uV
Channel F7 : Offset = 0.0 mV / STD = 0.5 uV
Channel EXT : Offset = 0.0 mV / STD = 0.5 uV
Minutes of data: 3.0
Max epochs per channel: 17
-Epoch Amplitude threshold: 75.0
-Epoch STD threshold: 30.0
Found 0 bad channel-epochs out of 340, or 0.0%.
Bad channel-epochs per channel:
channel 0 / P7, N= 0 (or 0.0%)
channel 1 / P4, N= 0 (or 0.0%)
channel 2 / Cz, N= 0 (or 0.0%)
channel 3 / Pz, N= 0 (or 0.0%)
channel 4 / P3, N= 0 (or 0.0%)
channel 5 / P8, N= 0 (or 0.0%)
channel 6 / O1, N= 0 (or 0.0%)
channel 7 / O2, N= 0 (or 0.0%)
channel 8 / T8, N= 0 (or 0.0%)
channel 9 / F8, N= 0 (or 0.0%)
channel 10 / C4, N= 0 (or 0.0%)
channel 11 / F4, N= 0 (or 0.0%)
channel 12 / Fp2, N= 0 (or 0.0%)
channel 13 / Fz, N= 0 (or 0.0%)
channel 14 / C3, N= 0 (or 0.0%)
channel 15 / F3, N= 0 (or 0.0%)
channel 16 / Fp1, N= 0 (or 0.0%)
channel 17 / T7, N= 0 (or 0.0%)
channel 18 / F7, N= 0 (or 0.0%)
channel 19 / EXT, N= 0 (or 0.0%)
---------QC COMPLETE---------
Plotting EEG channels after this pipeline:
1 . Object created: 2019-04-15 16:02
2 . EEG reset on 2019-04-15 16:02
3 . Reference to: Cz on 2019-04-15 16:02
4 . Detrend data every 10.0 s on 2019-04-15 16:02
5 . Notch at 50.0 with Q=30.0 on 2019-04-15 16:02
6 . Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:02
File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214093909_testboard_E20.nedf
Plotting PSDs after this pipeline: 1 . Object created: 2019-04-15 16:02 2 . EEG reset on 2019-04-15 16:02 3 . Reference to: Cz on 2019-04-15 16:02 4 . Detrend data every 10.0 s on 2019-04-15 16:02 5 . Notch at 50.0 with Q=30.0 on 2019-04-15 16:02 6 . Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:02 File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214093909_testboard_E20 Channel 1: P7, STD= 0.6 uV
Channel 2: P4, STD= 0.5 uV
Channel 3: Cz, STD= 0.0 uV
Channel 4: Pz, STD= 0.5 uV
Channel 5: P3, STD= 0.5 uV
Channel 6: P8, STD= 0.5 uV
Channel 7: O1, STD= 0.5 uV
Channel 8: O2, STD= 0.5 uV
Channel 9: T8, STD= 0.6 uV
Channel 10: F8, STD= 0.5 uV
Channel 11: C4, STD= 0.5 uV
Channel 12: F4, STD= 0.5 uV
Channel 13: Fp2, STD= 0.5 uV
Channel 14: Fz, STD= 0.5 uV
Channel 15: C3, STD= 0.5 uV
Channel 16: F3, STD= 0.5 uV
Channel 17: Fp1, STD= 0.6 uV
Channel 18: T7, STD= 0.5 uV
Channel 19: F7, STD= 0.5 uV
Channel 20: EXT, STD= 0.5 uV
##########################################################################
Processing C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214100347_testboard_E32.easy
##########################################################################
Found the file: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214100347_testboard_E32.easy
Initializing in file path: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214100347_testboard_E32.easy
Processing: 20181214100347_testboard_E32
Filenameroot: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214100347_testboard_E32
Extension: easy
_______________________________________________________________
Reading info file ...
Step Details
Info Version: 1.2
Step name:
StartDate (firstEEGtimestamp): 1544778225268
Device class: ENOBIO
Communication type: WiFi
Device ID: NE-Wifi(00:07:80:0D:7B:83)
Software's version: NIC v2.0.10
Firmware's version: 3018
Operative system: Windows
SDCard Filename: NONE
Additional channel: NONE
EEG Settings
Total number of channels: 32
Number of EEG channels: 32
Number of records of EEG: 90000
EEG sampling rate: 500 Samples/second
Effective EEG sampling rate: N/A
EEG recording configured duration (s): 180
Number of packets lost: 0
Line filter status: OFF
FIR filter status: OFF
EOG correction filter status: OFF
Reference filter status: OFF
EEG units: nV
EEG montage:
Channel 1: P7
Channel 2: P4
Channel 3: Cz
Channel 4: Pz
Channel 5: P3
Channel 6: P8
Channel 7: O1
Channel 8: O2
Channel 9: T8
Channel 10: F8
Channel 11: C4
Channel 12: F4
Channel 13: Fp2
Channel 14: Fz
Channel 15: C3
Channel 16: F3
Channel 17: Fp1
Channel 18: T7
Channel 19: F7
Channel 20: Oz
Channel 21: PO4
Channel 22: FC6
Channel 23: FC2
Channel 24: AF4
Channel 25: CP6
Channel 26: CP2
Channel 27: CP1
Channel 28: CP5
Channel 29: FC1
Channel 30: FC5
Channel 31: AF3
Channel 32: PO3
Accelerometer data: ON
.info file found and read.
_______________________________________________________________
Reading: 20181214100347_testboard_E32 . easy
Number of channels detected: 32
First sample recorded : 2018-12-14 10:03:45
L0 raw data data in uV
P7 P4 Cz Pz P3 \
count 90000.000000 90000.000000 90000.000000 90000.000000 90000.000000
mean 458.819539 -82.991117 -134.187717 -97.473076 -174.934017
std 7.934464 2.930902 3.968895 4.341049 4.599806
min 425.052000 -98.037000 -154.066000 -116.872000 -195.932000
25% 452.661000 -84.877000 -137.043000 -100.708000 -178.384000
50% 458.860000 -83.017000 -134.134000 -97.465000 -174.903000
75% 464.916000 -81.157000 -131.368000 -94.270000 -171.470000
max 487.041000 -68.521000 -115.823000 -80.537000 -157.499000
P8 O1 O2 T8 F8 \
count 90000.000000 90000.000000 90000.000000 90000.000000 90000.000000
mean -120.577853 51.102792 52.768981 -766.805021 342.086539
std 4.774195 5.056201 5.273413 3.744337 4.518742
min -139.904000 30.088000 30.612000 -799.322000 320.720000
25% -124.168000 47.254000 48.732000 -769.090000 338.792000
50% -120.496000 51.116000 52.785000 -766.754000 342.083000
75% -117.015000 54.979000 56.791000 -764.417000 345.373000
max -103.282000 66.947000 69.665000 -726.556000 366.020000
... CP5 FC1 FC5 AF3 \
count ... 90000.000000 90000.000000 90000.000000 90000.000000
mean ... -540.337378 103.438877 -455.005092 -7.723105
std ... 8.424761 4.724568 5.348618 6.805992
min ... -565.338000 84.304000 -489.711000 -31.518000
25% ... -547.123000 99.897000 -458.145000 -13.160000
50% ... -540.304000 103.425000 -454.950000 -7.724000
75% ... -533.533000 106.954000 -451.803000 -2.288000
max ... -517.416000 120.925000 -420.761000 13.399000
PO3 ax ay az markers \
count 90000.000000 90000.000000 90000.000000 90000.000000 90000.000000
mean -735.544603 -207.431467 241.812622 8614.224422 0.000256
std 11.136087 1418.963015 1351.715798 2096.284731 0.016665
min -764.751000 -10551.000000 -21682.000000 -12307.000000 0.000000
25% -744.628000 -382.000000 451.000000 8943.000000 0.000000
50% -735.473000 -343.000000 529.000000 9022.000000 0.000000
75% -726.413000 -225.000000 568.000000 9100.000000 0.000000
max -706.052000 10434.000000 3628.000000 41109.000000 2.000000
unix_time
count 9.000000e+04
mean 1.544778e+12
std 5.196941e+04
min 1.544778e+12
25% 1.544778e+12
50% 1.544778e+12
75% 1.544778e+12
max 1.544778e+12
[8 rows x 37 columns]
Plotting EEG channels after this pipeline:
1 . Object created: 2019-04-15 16:03
File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214100347_testboard_E32.easy
Plotting PSDs after this pipeline: 1 . Object created: 2019-04-15 16:03 File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214100347_testboard_E32 Channel 1: P7, STD= 7.9 uV
Channel 2: P4, STD= 2.9 uV
Channel 3: Cz, STD= 4.0 uV
Channel 4: Pz, STD= 4.3 uV
Channel 5: P3, STD= 4.6 uV
Channel 6: P8, STD= 4.8 uV
Channel 7: O1, STD= 5.1 uV
Channel 8: O2, STD= 5.3 uV
Channel 9: T8, STD= 3.7 uV
Channel 10: F8, STD= 4.5 uV
Channel 11: C4, STD= 4.6 uV
Channel 12: F4, STD= 4.8 uV
Channel 13: Fp2, STD= 5.0 uV
Channel 14: Fz, STD= 5.1 uV
Channel 15: C3, STD= 5.1 uV
Channel 16: F3, STD= 5.3 uV
Channel 17: Fp1, STD= 2.6 uV
Channel 18: T7, STD= 2.5 uV
Channel 19: F7, STD= 2.9 uV
Channel 20: Oz, STD= 3.2 uV
Channel 21: PO4, STD= 12.1 uV
Channel 22: FC6, STD= 9.4 uV
Channel 23: FC2, STD= 8.7 uV
Channel 24: AF4, STD= 8.4 uV
Channel 25: CP6, STD= 8.4 uV
Channel 26: CP2, STD= 8.3 uV
Channel 27: CP1, STD= 8.3 uV
Channel 28: CP5, STD= 8.4 uV
Channel 29: FC1, STD= 4.7 uV
Channel 30: FC5, STD= 5.3 uV
Channel 31: AF3, STD= 6.8 uV
Channel 32: PO3, STD= 11.1 uV
--------QUALITY CHECK-------- Current log is: ['Object created: 2019-04-15 16:03'] Checking Quality of data with epoch length of 10.0 seconds. Offset limit: 1.0 STD limit: 15.0 Channel P7 : Offset = 0.5 mV / STD = 7.9 uV Channel P4 : Offset = -0.1 mV / STD = 2.9 uV Channel Cz : Offset = -0.1 mV / STD = 4.0 uV Channel Pz : Offset = -0.1 mV / STD = 4.3 uV Channel P3 : Offset = -0.2 mV / STD = 4.6 uV Channel P8 : Offset = -0.1 mV / STD = 4.8 uV Channel O1 : Offset = 0.1 mV / STD = 5.1 uV Channel O2 : Offset = 0.1 mV / STD = 5.3 uV Channel T8 : Offset = -0.8 mV / STD = 3.7 uV Channel F8 : Offset = 0.3 mV / STD = 4.5 uV Channel C4 : Offset = -0.2 mV / STD = 4.6 uV Channel F4 : Offset = 0.1 mV / STD = 4.8 uV Channel Fp2 : Offset = 0.0 mV / STD = 5.0 uV Channel Fz : Offset = -0.4 mV / STD = 5.1 uV Channel C3 : Offset = 0.1 mV / STD = 5.1 uV Channel F3 : Offset = -0.5 mV / STD = 5.3 uV Channel Fp1 : Offset = -0.1 mV / STD = 2.6 uV Channel T7 : Offset = -0.3 mV / STD = 2.5 uV Channel F7 : Offset = 0.1 mV / STD = 2.9 uV Channel Oz : Offset = -0.1 mV / STD = 3.2 uV Channel PO4 : Offset = -0.3 mV / STD = 12.1 uV Channel FC6 : Offset = 0.3 mV / STD = 9.4 uV Channel FC2 : Offset = -0.1 mV / STD = 8.7 uV Channel AF4 : Offset = 0.3 mV / STD = 8.4 uV Channel CP6 : Offset = -0.0 mV / STD = 8.4 uV Channel CP2 : Offset = -0.4 mV / STD = 8.3 uV Channel CP1 : Offset = 0.4 mV / STD = 8.3 uV Channel CP5 : Offset = -0.5 mV / STD = 8.4 uV Channel FC1 : Offset = 0.1 mV / STD = 4.7 uV Channel FC5 : Offset = -0.5 mV / STD = 5.3 uV Channel AF3 : Offset = -0.0 mV / STD = 6.8 uV Channel PO3 : Offset = -0.7 mV / STD = 11.1 uV
Minutes of data: 3.0
Max epochs per channel: 17
-Epoch Amplitude threshold: 75.0
-Epoch STD threshold: 30.0
Found 0 bad channel-epochs out of 544, or 0.0%.
Bad channel-epochs per channel:
channel 0 / P7, N= 0 (or 0.0%)
channel 1 / P4, N= 0 (or 0.0%)
channel 2 / Cz, N= 0 (or 0.0%)
channel 3 / Pz, N= 0 (or 0.0%)
channel 4 / P3, N= 0 (or 0.0%)
channel 5 / P8, N= 0 (or 0.0%)
channel 6 / O1, N= 0 (or 0.0%)
channel 7 / O2, N= 0 (or 0.0%)
channel 8 / T8, N= 0 (or 0.0%)
channel 9 / F8, N= 0 (or 0.0%)
channel 10 / C4, N= 0 (or 0.0%)
channel 11 / F4, N= 0 (or 0.0%)
channel 12 / Fp2, N= 0 (or 0.0%)
channel 13 / Fz, N= 0 (or 0.0%)
channel 14 / C3, N= 0 (or 0.0%)
channel 15 / F3, N= 0 (or 0.0%)
channel 16 / Fp1, N= 0 (or 0.0%)
channel 17 / T7, N= 0 (or 0.0%)
channel 18 / F7, N= 0 (or 0.0%)
channel 19 / Oz, N= 0 (or 0.0%)
channel 20 / PO4, N= 0 (or 0.0%)
channel 21 / FC6, N= 0 (or 0.0%)
channel 22 / FC2, N= 0 (or 0.0%)
channel 23 / AF4, N= 0 (or 0.0%)
channel 24 / CP6, N= 0 (or 0.0%)
channel 25 / CP2, N= 0 (or 0.0%)
channel 26 / CP1, N= 0 (or 0.0%)
channel 27 / CP5, N= 0 (or 0.0%)
channel 28 / FC1, N= 0 (or 0.0%)
channel 29 / FC5, N= 0 (or 0.0%)
channel 30 / AF3, N= 0 (or 0.0%)
channel 31 / PO3, N= 0 (or 0.0%)
---------QC COMPLETE---------
---------PREPROCESSING---------
Pipeline:
['reset', 'rereference', 'detrend', 'remove_line_freq', 'bandpassfilter']
-------------------------------
Step 1 : reset ...
-------------------------------
Step 2 : rereference ...
Reference electrodes: ['Cz']
-------------------------------
Step 3 : detrend ...
Every 10.0 seconds
-------------------------------
Step 4 : remove_line_freq ...
Power line frequency: 50.0
Notch Q-factor: 30.0
-------------------------------
Step 5 : bandpassfilter ...
Cutoff frequencies: 2.0 - 45.0
-------------------------------
Done: Updated Log: ['Object created: 2019-04-15 16:03', 'EEG reset on 2019-04-15 16:03', 'Reference to: Cz on 2019-04-15 16:03', 'Detrend data every 10.0 s on 2019-04-15 16:03', 'Notch at 50.0 with Q=30.0 on 2019-04-15 16:03', 'Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:03']
--------QUALITY CHECK--------
Current log is:
['Object created: 2019-04-15 16:03', 'EEG reset on 2019-04-15 16:03', 'Reference to: Cz on 2019-04-15 16:03', 'Detrend data every 10.0 s on 2019-04-15 16:03', 'Notch at 50.0 with Q=30.0 on 2019-04-15 16:03', 'Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:03']
Checking Quality of data with epoch length of 10.0 seconds.
Offset limit: 1.0
STD limit: 15.0
Channel P7 : Offset = 0.0 mV / STD = 0.7 uV
Channel P4 : Offset = -0.0 mV / STD = 0.5 uV
Channel Cz : Offset = 0.0 mV / STD = 0.0 uV
Channel Pz : Offset = 0.0 mV / STD = 0.5 uV
Channel P3 : Offset = 0.0 mV / STD = 0.5 uV
Channel P8 : Offset = -0.0 mV / STD = 0.5 uV
Channel O1 : Offset = 0.0 mV / STD = 0.5 uV
Channel O2 : Offset = 0.0 mV / STD = 0.5 uV
Channel T8 : Offset = 0.0 mV / STD = 0.6 uV
Channel F8 : Offset = 0.0 mV / STD = 0.5 uV
Channel C4 : Offset = -0.0 mV / STD = 0.5 uV
Channel F4 : Offset = 0.0 mV / STD = 0.5 uV
Channel Fp2 : Offset = 0.0 mV / STD = 0.5 uV
Channel Fz : Offset = -0.0 mV / STD = 0.5 uV
Channel C3 : Offset = 0.0 mV / STD = 0.5 uV
Channel F3 : Offset = -0.0 mV / STD = 0.5 uV
Channel Fp1 : Offset = -0.0 mV / STD = 0.6 uV
Channel T7 : Offset = 0.0 mV / STD = 0.5 uV
Channel F7 : Offset = 0.0 mV / STD = 0.5 uV
Channel Oz : Offset = -0.0 mV / STD = 0.5 uV
Channel PO4 : Offset = -0.0 mV / STD = 0.6 uV
Channel FC6 : Offset = 0.0 mV / STD = 0.5 uV
Channel FC2 : Offset = 0.0 mV / STD = 0.5 uV
Channel AF4 : Offset = 0.0 mV / STD = 0.5 uV
Channel CP6 : Offset = 0.0 mV / STD = 0.5 uV
Channel CP2 : Offset = 0.0 mV / STD = 0.5 uV
Channel CP1 : Offset = 0.0 mV / STD = 0.5 uV
Channel CP5 : Offset = 0.0 mV / STD = 0.5 uV
Channel FC1 : Offset = 0.0 mV / STD = 0.6 uV
Channel FC5 : Offset = 0.0 mV / STD = 0.5 uV
Channel AF3 : Offset = 0.0 mV / STD = 0.5 uV
Channel PO3 : Offset = 0.0 mV / STD = 0.5 uV
Minutes of data: 3.0
Max epochs per channel: 17
-Epoch Amplitude threshold: 75.0
-Epoch STD threshold: 30.0
Found 0 bad channel-epochs out of 544, or 0.0%.
Bad channel-epochs per channel:
channel 0 / P7, N= 0 (or 0.0%)
channel 1 / P4, N= 0 (or 0.0%)
channel 2 / Cz, N= 0 (or 0.0%)
channel 3 / Pz, N= 0 (or 0.0%)
channel 4 / P3, N= 0 (or 0.0%)
channel 5 / P8, N= 0 (or 0.0%)
channel 6 / O1, N= 0 (or 0.0%)
channel 7 / O2, N= 0 (or 0.0%)
channel 8 / T8, N= 0 (or 0.0%)
channel 9 / F8, N= 0 (or 0.0%)
channel 10 / C4, N= 0 (or 0.0%)
channel 11 / F4, N= 0 (or 0.0%)
channel 12 / Fp2, N= 0 (or 0.0%)
channel 13 / Fz, N= 0 (or 0.0%)
channel 14 / C3, N= 0 (or 0.0%)
channel 15 / F3, N= 0 (or 0.0%)
channel 16 / Fp1, N= 0 (or 0.0%)
channel 17 / T7, N= 0 (or 0.0%)
channel 18 / F7, N= 0 (or 0.0%)
channel 19 / Oz, N= 0 (or 0.0%)
channel 20 / PO4, N= 0 (or 0.0%)
channel 21 / FC6, N= 0 (or 0.0%)
channel 22 / FC2, N= 0 (or 0.0%)
channel 23 / AF4, N= 0 (or 0.0%)
channel 24 / CP6, N= 0 (or 0.0%)
channel 25 / CP2, N= 0 (or 0.0%)
channel 26 / CP1, N= 0 (or 0.0%)
channel 27 / CP5, N= 0 (or 0.0%)
channel 28 / FC1, N= 0 (or 0.0%)
channel 29 / FC5, N= 0 (or 0.0%)
channel 30 / AF3, N= 0 (or 0.0%)
channel 31 / PO3, N= 0 (or 0.0%)
---------QC COMPLETE---------
Plotting EEG channels after this pipeline:
1 . Object created: 2019-04-15 16:03
2 . EEG reset on 2019-04-15 16:03
3 . Reference to: Cz on 2019-04-15 16:03
4 . Detrend data every 10.0 s on 2019-04-15 16:03
5 . Notch at 50.0 with Q=30.0 on 2019-04-15 16:03
6 . Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:03
File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214100347_testboard_E32.easy
Plotting PSDs after this pipeline: 1 . Object created: 2019-04-15 16:03 2 . EEG reset on 2019-04-15 16:03 3 . Reference to: Cz on 2019-04-15 16:03 4 . Detrend data every 10.0 s on 2019-04-15 16:03 5 . Notch at 50.0 with Q=30.0 on 2019-04-15 16:03 6 . Filter at low_cutoff_freq= 2.0 and high_cutoff_freq=45.0 on 2019-04-15 16:03 File: C:\Users\roser.sanchez\Desktop\EEG_DATA\testfiles/20181214100347_testboard_E32 Channel 1: P7, STD= 0.7 uV
Channel 2: P4, STD= 0.5 uV
Channel 3: Cz, STD= 0.0 uV
Channel 4: Pz, STD= 0.5 uV
Channel 5: P3, STD= 0.5 uV
Channel 6: P8, STD= 0.5 uV
Channel 7: O1, STD= 0.5 uV
Channel 8: O2, STD= 0.5 uV
Channel 9: T8, STD= 0.6 uV
Channel 10: F8, STD= 0.5 uV
Channel 11: C4, STD= 0.5 uV
Channel 12: F4, STD= 0.5 uV
Channel 13: Fp2, STD= 0.5 uV
Channel 14: Fz, STD= 0.5 uV
Channel 15: C3, STD= 0.5 uV
Channel 16: F3, STD= 0.5 uV
Channel 17: Fp1, STD= 0.6 uV
Channel 18: T7, STD= 0.5 uV
Channel 19: F7, STD= 0.5 uV
Channel 20: Oz, STD= 0.5 uV
Channel 21: PO4, STD= 0.6 uV
Channel 22: FC6, STD= 0.5 uV
Channel 23: FC2, STD= 0.5 uV
Channel 24: AF4, STD= 0.5 uV
Channel 25: CP6, STD= 0.5 uV
Channel 26: CP2, STD= 0.5 uV
Channel 27: CP1, STD= 0.5 uV
Channel 28: CP5, STD= 0.5 uV
Channel 29: FC1, STD= 0.6 uV
Channel 30: FC5, STD= 0.5 uV
Channel 31: AF3, STD= 0.5 uV
Channel 32: PO3, STD= 0.5 uV
Batch job complete. Processed files: ['C:\\Users\\roser.sanchez\\Desktop\\EEG_DATA\\testfiles/20181214090159_testboard_E8.easy', 'C:\\Users\\roser.sanchez\\Desktop\\EEG_DATA\\testfiles/20181214093909_testboard_E20.nedf', 'C:\\Users\\roser.sanchez\\Desktop\\EEG_DATA\\testfiles/20181214100347_testboard_E32.easy'] Skipped files: [] Elapsed time (seconds): 119.58357334136963